package edu.sandau.app.basic.service;

import edu.sandau.app.basic.domain.Order;
import java.util.List;

public interface OrderService {
    
    /**
     * 获取所有订单
     */
    List<Order> getAllOrders();
    
    /**
     * 根据ID获取订单
     */
    Order getOrderById(Long id);
    
    /**
     * 创建订单
     */
    int createOrder(Order order);
    
    /**
     * 更新订单
     */
    int updateOrder(Order order);
    
    /**
     * 删除订单
     */
    int deleteOrder(Long id);
    
    /**
     * 根据用户ID获取订单
     */
    List<Order> getOrdersByUserId(Long userId);
    
    /**
     * 根据订单号查询订单
     */
    Order getOrderByOrderNo(String orderNo);
    
    /**
     * 根据订单状态查询订单
     */
    List<Order> getOrdersByStatus(String status);
    
    /**
     * 取消订单
     */
    int cancelOrder(Long id);
    
    /**
     * 支付订单
     */
    int payOrder(Long id, String paymentMethod);
    
    /**
     * 生成订单号
     */
    String generateOrderNo();
}

